package com.tb;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

/**
 * 生成md的工具
 * Created by zhaoYuan on 2015/6/11.
 */
public class MD5Util {

    public static String MD5(String s){

        try {
            byte[] btInput = s.getBytes();
            // 获得MD5摘要算法的 MessageDigest 对象
            MessageDigest mdInst = null;
            mdInst = MessageDigest.getInstance("MD5");
            // 使用指定的字节更新摘要
            mdInst.update(btInput);
            // 获得密文
            byte[] md = mdInst.digest();
            // 把密文转换成十六进制的字符串形式
            // 将MD5输出的二进制结果转换为小写的十六进制
            StringBuilder sign = new StringBuilder();
            for (byte aMd : md) {
                String hex = Integer.toHexString(aMd & 0xFF);
                if (hex.length() == 1) {
                    sign.append("0");
                }
                sign.append(hex);
            }
            return sign.toString();
        } catch (NoSuchAlgorithmException e) {
            //确认md5算法可用， 不会存在该异常。所以不做处理
            return null;
        }
    }

}
